Method and system for optimizing the vibrational characteristics of a structure

ABSTRACT

A structural optimization engine generates a response profile based on a vibrational analysis of a three-dimensional (3D) structure. The structural optimization engine determines whether the 3D structure complies with one or more design goals set for the 3D structure based on the response profile. When the 3D structure does not comply with the design goals, the structural optimization engine retrieves dependency data from a structure database. The dependency data indicates various dependencies between response characteristics included in the response profile and specific regions of the 3D model. Based on the dependency data, the structural optimization engine determines structural modifications that can be made to the 3D structure to bring the 3D structure into compliance with the design goals. A multi-axis computer-aided manufacturing unit then makes the structural modifications to the 3D structure.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the priority benefit of Provisional U.S. PatentApplication Ser. No. 61/058,730, filed Jun. 4, 2008, the subject matterof which is hereby incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to the design and manufacture ofstructures and, more specifically, to a method and system for optimizingthe vibrational characteristics of a structure.

2. Description of the Related Art

Conventional structural analysis techniques can be used to manufactureand/or modify a wide range of different structures, including musicalinstruments, buildings, airframes, surfboards, and missiles, among otherthings. A designer of a structure may implement one or more differentstructural analysis techniques to design and build the structure to haveparticular vibrational characteristics. For example, a designer of aguitar may implement a shaker coupled to the guitar to perform anacoustic sweep of the guitar. One or more sensors may then record dataindicative of the vibrational characteristics of the guitar. Based onthe recordations performed by the sensors, the designer of the guitarmay then make structural modifications to the guitar in order tomanipulate the vibrational characteristics of the guitar.

One drawback of conventional techniques is that a designer of astructure typically must rely on trial-and-error to modify the structuresuch that the structure has particular vibrational characteristics. Thetrial-and-error process is quite time-consuming for the designer. Suchan approach is also unpredictable and, therefore, does not producereliable results. Another drawback of conventional techniques is thatthe designer of the structure cannot identify particular structuralmodifications that result in particular changes to the vibrationalcharacteristics of the structure. Returning to the example above, thedesigner of a guitar could not easily identify a specific structuralmodification to perform on the guitar in order to modify the amplitudeof a particular frequency associated with the guitar. Thus, the designercould not easily or effectively fine-tune the structure of the guitar.

As the foregoing illustrates, what is needed in the art is a moreeffective way to analyze and design a structure having particularizedvibrational characteristics.

SUMMARY OF THE INVENTION

One embodiment of the present invention sets forth acomputer-implemented method for optimizing the vibrationalcharacteristics of a three-dimensional (3D) structure. The methodincludes the steps of imparting an excitation input to the 3D structure,measuring a dynamic response produced by the 3D structure, determiningthat the 3D structure does not comply with one or more design goals setfor the 3D structure, determining at least one structural modificationto be made to the 3D structure to bring the 3D structure into compliancewith the one or more design goals, and causing a multi-axiscomputer-aided manufacturing (CAM) unit to make the at least onestructural modification to the 3D structure.

Advantageously, a 3D structure having precise vibrationalcharacteristics can be generated. The 3D structure can be modified untilthe 3D structure complies with design goals set for the 3D structure. Inaddition, specific vibrational characteristics of the 3D structure canbe identified and manipulated by making precise structural modificationsto the 3D structure, thereby allowing the 3D structure to be fine-tuned.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the inventioncan be understood in detail, a more particular description of theinvention, briefly summarized above, may be had by reference toembodiments, some of which are illustrated in the appended drawings. Itis to be noted, however, that the appended drawings illustrate onlytypical embodiments of this invention and are therefore not to beconsidered limiting of its scope, for the invention may admit to otherequally effective embodiments.

FIG. 1 is a conceptual diagram of a system configured to implement oneor more aspects of the invention;

FIG. 2 is a conceptual diagram illustrating the computing device of FIG.1 in greater detail, according to one embodiment of the invention;

FIG. 3 is a conceptual diagram illustrating the structural optimizationengine of FIG. 2 in greater detail, according to one embodiment of theinvention;

FIGS. 4A-4B set forth a flowchart of method steps for optimizing thevibrational characteristics of a structure, according to one embodimentof the invention;

FIG. 5 is a flowchart of method steps for updating a structure database,according to one embodiment of the invention; and

FIG. 6 is a conceptual diagram of another system configured to implementone or more aspects of the invention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth toprovide a more thorough understanding of the invention. However, it willbe apparent to one of skill in the art that the invention may bepracticed without one or more of these specific details. In otherinstances, well-known features have not been described in order to avoidobscuring the invention.

FIG. 1 is a conceptual diagram of a system 100 configured to implementone or more aspects of the invention. As shown, the system 100 includesa computing device 102, an actuation mechanism 104, a sensor array 106,a three-dimensional (3D) structure 108, a multi-axis computer-aidedmanufacturing (CAM) unit 110, and a CAM implement 112.

The computing device 102 may be any type of computing device, includinga desktop computer or a laptop computer, among others. The computingdevice 102 is coupled to the actuation mechanism 104, the sensor array106, and the multi-axis CAM unit 110. The computing device 102 isconfigured to receive data from the sensor array 106 and to transmitcommands to the multi-axis CAM unit 110 and to the actuation mechanism104.

The actuation mechanism 104 is configured to be physically coupled tothe 3D structure 108 and to impart an excitation input to the 3Dstructure 108 based on control signals received from the computingdevice 102. The actuation mechanism 104 may be a shaker, a force hammer,a loudspeaker, or any other type of mechanism configured to impart anexcitation input to the 3D structure 108, and may beelectrically-driven, magnetically-driven, manually-driven,pneumatically-driven, or driven in any technically feasible fashion. Theactuation mechanism is configured to impart the excitation input to the3D structure 108 with one or more frequencies having various amplitudes.For example, if the actuation mechanism 104 is a shaker coupled directlyto the 3D structure 108, then the shaker could impart a force on the 3Dstructure 108 with one or more frequencies having various amplitudes.Alternatively, if the actuation mechanism 104 is a force hammer, thenthe force hammer could impart an impulse force on the 3D structure 108having a particular amplitude. The actuation mechanism 104 is configuredto generate a variety of excitation inputs having a wide range offrequencies and/or amplitudes and to impart those excitation forces toany part of the 3D structure 108. In one embodiment, the actuationmechanism 104 generates an excitation input that is non-destructive tothe 3D structure 108 such as, for example, an acoustic scan.

The 3D structure 108 could be any physical structure, including amusical instrument, a loudspeaker, a microphone, a transducer, anengine, a turbine, a turbine blade, an airframe, a propeller blade, ahelicopter blade, a boat hull, a spar, a mast, a bicycle frame, amotorcycle frame, an automobile chassis, an automobile suspension, abuilding, a spacecraft, a wheel, a bearing, a hang glider, a paraglider,a skateboard, a snowboard, a surfboard, a windsurfing board, akiteboard, a ski, a tennis racquet, a golf club, a sword, an electricmotor, an electric generator, a submarine, a rocket, a missile, anultralight aircraft, a suspension bridge, a machine, an I-beam, a wing,or a firearm, among others. Additionally, the 3D structure 108 may becomposed of any material or combination of materials, including wood,steel, carbon fiber, plastic, iron, stone, titanium, or silicon, amongothers.

When the actuation mechanism 104 imparts the excitation input to the 3Dstructure 108, the 3D structure 108 produces a dynamic response. Thesensor array 106 includes one or more sensors that may be physicallycoupled to the 3D structure 108 and configured to record a particularquantity associated with the dynamic response produced by the 3Dstructure 108. For example, the sensors could include one or moreaccelerometers that are each physically coupled to a particular locationon the surface of the 3D structure 108 and configured to record theacceleration of that particular location. The sensors in the sensorarray 106 may also be located at a distance from the 3D structure 108.For example, the sensor array 106 could include one or more microphoneslocated at a distance from the 3D structure 108 and configured to recordthe acoustic output of the 3D structure 108 when the 3D structure 108produces the dynamic response. The sensor array may further include oneor more strain gauges, force gauges, or air velocity sensors, amongothers. Those skilled in the art will recognize that a wide variety ofsensors and various combinations of sensors may be implemented to recorddifferent characteristics of the dynamic response produced by the 3Dstructure 108.

Based on the recordations performed by the sensors, the sensor array 106generates “sensor data,” which is real-time data that reflects thereal-time dynamic response produced by the 3D structure 108. The sensordata may include acceleration values, amplitude values, strain values,force values, or air velocity values, as well as corresponding timevalues, among others, depending on the types of sensors included in thesensor array 106. The sensor array 106 outputs the sensor data to thecomputing device 102.

As described in greater detail below in FIGS. 2-5, the computing device102 may then determine structural modifications to be made to the 3Dstructure 108 in order to bring the 3D structure 108 into compliancewith one or more “design goals” determined by the designer of the 3Dstructure 108. As referred to herein, the design goals set for the 3Dstructure 108 include desired vibrational characteristics of the 3Dstructure 108, such as, for example, a specific quality factor Q. Thecomputing device 102 may then cause the structural modifications to bemade to the 3D structure 108 via the multi-axis CAM unit 110.

The multi-axis CAM unit 110 may be any technically feasible type ofmulti-axis CAM unit, including a router, a drill press, a band saw, asander, a water jet cutter, a laser cutter, a lathe, a welding device,or a silicon-deposition machine, among others. Accordingly, themulti-axis CAM unit 110 is configured to add material to or removematerial from any real-world 3D structure, such as the 3D structure 108.The multi-axis CAM unit may be a single machine configured to performmultiple manufacturing functions or, alternatively, multiple machineseach configured to perform one or more different manufacturingfunctions. Those skilled in the art will recognize that the multi-axisCAM unit 110 may be any type of manufacturing machine or any combinationof manufacturing machines. The multi-axis CAM unit 110 is configured tomodify the 3D structure 108 via a CAM implement 112. The CAM implement112 is controlled by the multi-axis CAM unit 110 and is configured toadd material to and/or remove material from the 3D structure 108. Forexample, if the multi-axis CAM unit 110 is a router, then the CAMimplement 112 could be a cutting bit that removes material from the 3Dstructure 108.

As further described in FIG. 3, the system 100 may repeatedly impart anexcitation input to the 3D structure 108, measure the dynamic responseproduced by the 3D structure 108, and make structural modifications tothe 3D structure 108 until the 3D structure 108 complies with the designgoals set for the 3D structure 108.

FIG. 2 is a conceptual diagram illustrating the computing device 102 ofFIG. 1 in greater detail, according to one embodiment of the invention.As shown, the computing device 102 includes a processing unit 202,input/output (I/O) devices 204, and a memory 206. The processing unit202 is coupled to the I/O devices 204 and to the memory 206. The I/Odevices 204 are coupled to the processing unit 202 and to the memory206.

The processing unit 202 may be a single-core processor, a multi-coreprocessor, an application-specific integrated circuit (ASIC), afield-programmable gate array (FPGA), a central processing unit (CPU), agraphics processing unit (GPU), or a combination of processing units.The processing unit 202 is configured to execute program instructionsstored in the memory 206. The program instructions may include softwareapplications, drivers, and/or operating systems (OSs).

The I/O devices 204 may allow data to be transferred to and from thecomputing device 102 and may include a keyboard, a mouse, a monitor, aspeaker, a switch, a touchscreen, a universal serial bus (USB) port, afirewire port, a serial port, an Ethernet port, a disk drive, a flashdrive, or a wireless network card, among others. In one embodiment, theI/O devices 204 can be used to write data to or read data from thememory 206. In another embodiment, the I/O devices 204 may provide aconnection to the Internet. In yet another embodiment, the I/O devices204 may include the sensor array 106 described in FIG. 1.

The memory 206 may be any type of memory unit, including a random-accessmemory (RAM) unit, a dynamic RAM (DRAM) unit, a hard disk drive, or aflash memory module, among others. The memory 206 includes a 3D model208, design goals 210, sensor data 212, a structural optimization engine214, machine control code 216, and actuation mechanism commands 218.

The 3D model 208 is a computer model of the 3D structure 108 describedin FIG. 1. The 3D model 208 may be generated using a computer-aideddesign (CAD) application that operates on the computing device 102 or,alternatively, may be generated elsewhere and then stored in the memory206. For example, the 3D model 208 could be downloaded from the Internetvia the I/O devices 204 and then stored in the memory 208. In oneembodiment, the 3D model 208 includes data specifying one or morematerials that compose different structural elements of the 3D structure108.

The design goals 210 specify desired vibrational characteristics of the3D structure 108. In one embodiment, the design goals 210 include one ormore target parameters for the 3D structure 108, such as, for example, atarget mass, one or more target dimensions, one or more targetimpedance/admittance values, one or more target resonant frequencies, atarget quality factor Q, a target impulse response, or a target transferfunction, among others. The design goals 210 may be generated by thedesigner via the I/O devices 204 or downloaded from the Internet via theI/O devices 204, among others.

The sensor data 212 includes real-time data output by the sensor array106. For example, when the sensor array 106 of FIG. 1 includes anaccelerometer, the sensor data could include a vector of accelerationdata points and a corresponding vector of time data points. Eachacceleration data point could indicate an acceleration value measured bythe accelerometer at a corresponding time. The sensor data 212 mayinclude real-time data generated by any of the sensors included in thesensor array 106 of FIG. 1.

The structural optimization engine 214 is a software program that, whenexecuted by the processing unit 202, generates the machine control code216 and the actuation mechanism commands 218, as described in greaterdetail below in FIG. 3. The actuation mechanism commands 218 areexecuted by the actuation mechanism 104 to impart different excitationinputs to the 3D structure 108. For example, the actuation mechanism 104could execute the actuation mechanism commands 218 to impart an impulseforce on the 3D structure 108. In another example, the actuationmechanism 104 could execute the actuation mechanism commands 218 toperform an acoustic sweep of the 3D structure 108 across a range offrequencies. The 3D structure 108 receives the excitation input andproduces the dynamic response, as previously described herein.

The machine control code 216 may be computational numerical control(CNC) code or G-code, among others. The machine control code 216 isexecuted by the multi-axis CAM unit 110 to make different structuralmodifications to the 3D structure 108, including the addition ofmaterial to or the removal of material from the 3D structure 108. Bymaking these structural modifications, the multi-axis CAM unit 210 maybring the 3D structure 108 into compliance with the design goals 210.

FIG. 3 is a conceptual diagram illustrating the structural optimizationengine 214 of FIG. 2 in greater detail, according to one embodiment ofthe invention. As shown, the structural optimization engine 214 includesa training engine 302, a structure database 304, a modification engine306, modification data 308, a machine control translator 310, a responseprofile 312, and a structural analyzer 314.

The structural analyzer 314 is configured to perform a vibrationalanalysis on the 3D structure 108. The structural analyzer 314 transmitsthe actuation mechanism commands 218 to the actuation mechanism 104,thereby causing the actuation mechanism 104 to impart an excitationinput to the 3D structure 108. When the 3D structure 108 produces adynamic response following transmission of the excitation input, thesensor array 106 generates the sensor data 212, as previously describedherein. Based on the sensor data 212, the structural analyzer 314generates the response profile 312.

The response profile 312 includes one or more response characteristicsthat are based on the dynamic response produced by the 3D structure 108.For example, the response profile 312 could include one or more resonantfrequencies, one or more impedance/admittance values, a quality factorQ, a spectral density plot, or a transfer function associated with the3D structure 108, among others.

In one embodiment, the structural analyzer 314 generates the responseprofile 312 to include a spectral density plot that relates eachfrequency in a range of frequencies to a corresponding power outputvalue associated with the 3D structure 108. In order to generate thespectral density plot, the structural analyzer 314 causes the actuationmechanism 104 to perform an acoustic sweep of the 3D structure 108across the range of frequencies. Based on the sensor data 212subsequently output by the sensor array 106, the structural analyzer 314determines a power output value associated with the 3D structure 108 ateach of the frequencies in the range of frequencies. The structuralanalyzer 314 then includes this data in the response profile 312. In afurther embodiment, the structural analyzer 314 performs the acousticsweep across a set of random frequencies.

In another embodiment, the structural analyzer 314 may generate theresponse profile 312 to include one or more resonant frequencies. Inorder to identify the one or more resonant frequencies of the 3Dstructure 108, the structural analyzer 314 causes the actuationmechanism 104 to impart an impulse force on the 3D structure 108. Basedon the sensor data 212 output by the sensor array 106, the structuralanalyzer 314 may identify one or more resonant frequencies associatedwith the 3D structure 108. The structural analyzer may then include theresonant frequencies in the response profile 312. In a furtherembodiment, the structural analyzer 314 may generate a response profile312 that includes a transfer function associated with the 3D structure108 by comparing the actuation mechanism commands 218 to the sensor data212.

The structural analyzer 314 is configured to transmit the responseprofile 312 to the training engine 302 and to the modification engine306. The modification engine 306 is configured to determine whether the3D structure 108 complies with the design goals 210. When determiningwhether the 3D structure 108 complies with the design goals 210, themodification engine 306 determines whether one or more of the responsecharacteristics in the response profile 312 are sufficiently similar tocorresponding response characteristics set forth in the design goals210.

For example, the modification engine 306 could compare the amplitude ofa particular resonant frequency in the response profile 312 to theamplitude of a corresponding resonant frequency in the design goals 210.If the difference between the two values is less than a threshold value,then the modification engine 306 would determine that the 3D structure108 complies with the design goals 210. However, if the difference isgreater than a threshold value, then the modification engine 306 woulddetermine that the 3D structure 108 does not comply with the designgoals 210. Again, in various embodiments, one response characteristic ormultiple response characteristics may be compared in determining whetherthe 3D structure 108 complies with the design goals 210.

If the modification engine 306 determines that the 3D structure 108 doesnot comply with the design goals 210, then the modification engine 306accesses one or more “stored 3D models” residing in the structuredatabase 304 for use in generating the modification data 308 and relatedmachine control code 216, as further described herein. Each stored 3Dmodel is generated using a CAD application and represents a real-world3D structure, such as the 3D structure 108, capable of being produced bythe multi-axis CAM unit 110. The structure database 304 is populatedwith one or more stored 3D models, each of which may be downloaded fromthe Internet or transferred to the structure database via the I/Odevices 204. Each stored 3D model is associated with “dependency data”that indicates dependencies between the response characteristics of thereal-world 3D structure represented by the stored 3D model and theamounts of the different materials in specific regions of the real-world3D structure. The dependency data accounts not only for the physicaldimensions of the specific regions of the real-world 3D structure, butalso for the properties of the different materials found in the specificregions, among other things. For example, the dependency data couldspecify that the amplitude of a resonant frequency associated with thereal-world 3D structure is dependent on the thickness of one or morespecific regions of the real-world 3D structure as well as theproperties of the materials found in the one or more specific regions. Aparticular set of dependency data could be downloaded from the Internetalong with a corresponding stored 3D model or, alternatively, generatedby the training engine 302 when optimizing a real-world 3D structure, asdescribed in greater detail below in FIG. 5.

Upon accessing the structure database 304, the modification engine 306first identifies the stored 3D model that is most similar to the 3Dmodel 208. In one embodiment, the modification engine 306 implements aset of heuristics, a pattern-recognition algorithm, a neural network, adecision tree, a curve-fitting algorithm, a Kohonen Map, a Radial BasisFunction, a K-means hierarchical clustering algorithm, a reinforcementlearning algorithm, or another type of characterization algorithm and/orstatistical data mining algorithm to identify the stored 3D model thatis most similar to the 3D model 208.

The modification engine 306 then compares the response profile 312 tothe design goals 210 to identify response characteristics in theresponse profile 312 that differ (diverge) significantly fromcorresponding response characteristics set forth in the design goals210. For example, the modification engine 306 may compare the responseprofile 312 to the design goals 210 to determine that the amplitude of aparticular resonant frequency in the response profile 312 is twice theamplitude of a corresponding resonant frequency set forth in the designgoals 210.

Once determining that one or more corresponding response characteristicsin the response profile 312 and the design goals 210 differsubstantially, the modification engine 306 then extracts the dependencydata associated with the stored 3D model 208 from the structure database304. The modification engine 306 analyzes the extracted dependency datato identify specific regions of the 3D structure 108 on which thedivergent response characteristics in the response profile 312 depend.Based on the dependency data, the modification engine 306 alsodetermines whether adding material to or removing material from thosespecific regions of the 3D structure 108 would reduce the differencesbetween the divergent response characteristics in the response profile312 and the corresponding response characteristics set forth in thedesign goals 210.

The modification engine 306 then determines structural modifications tothe specific regions of the 3D structure 108 that, when implemented bythe multi-axis CAM unit 110, would cause the divergent responsecharacteristics in the response profile 312 to more closely approximatethe corresponding response characteristics set forth in the design goals210. Such structural modifications may include adding material to orremoving material from the specific regions of the 3D structure 108. Themodification engine 306 then generates the modification data 308 thatreflects those structural modifications.

Based on the modification data 308, the machine control translator 310generates the machine control code 216. The machine control code 216 isthen executed by the multi-axis CAM unit 110 to make the structuralmodifications indicated by the machine control code 216 to the 3Dstructure 108. In one embodiment, the modification engine 306 generatesan updated 3D model 208 that reflects the structural modifications madeto the 3D structure 108.

In further embodiments, once the multi-axis CAM unit 110 makes themodifications to the 3D structure 108 to generate a modified 3Dstructure, the structural analyzer 314 performs a vibrational analysison the modified 3D structure, as described, in order to generate anupdated response profile 312 based on the modified 3D structure. Themodification engine 306 analyzes the updated response profile 312 todetermine whether the modified 3D structure complies with the designgoals 210. If the modified 3D structure does not comply with the designgoals 210, then the modification engine 306 again accesses the structuredatabase 304 and identifies a second stored 3D model that is mostsimilar to the updated 3D model 208, as described above.

The modification engine 306 extracts additional dependency dataassociated with the second stored 3D model and, based on the additionaldependency data, generates additional modification data 308. Theadditional modification data 308 reflects additional structuralmodifications to be made to the modified 3D structure using thetechniques described above. The machine control translator 310 generatesadditional machine control code 216 based on the additional modificationdata 308, and the multi-axis CAM unit 110 then executes the additionalmachine control code 216 to make the additional structural modificationsto the modified 3D structure. In this fashion, the multi-axis CAM unit110 may cause the modified 3D structure to be brought into compliancewith the design goals 210. Those skilled in the art will understand thatthe 3D structure 108 may be modified repeatedly based on one or moredifferent sets of dependency data until the 3D structure 108 complieswith the design goals 210.

While the modification engine 306 operates to generate the modificationdata 308, the training engine 302 operates to update the structuredatabase 304. The training engine 302 is configured to include the 3Dmodel 208 in the structure database 304 and to generate associateddependency data for the 3D model 208 for future use.

More specifically, the training engine 302 generates the dependency datafor the 3D model 208 after the multi-axis CAM unit 110 makes thestructural modifications to the 3D structure 108 and after thestructural analyzer 314 generates an updated response profile. Thetraining engine 302 compares the updated response profile to theresponse profile 312 and identifies response characteristics in theresponse profile 312 that changed once the multi-axis CAM unit 110 makesthe structural modifications to the 3D structure 108. The trainingengine 302 also identifies the regions of the 3D structure 108 modifiedby the multi-axis CAM unit 110. The training engine 302 then generatesthe dependency data to reflect dependencies between the identifiedregions of the 3D model 208 and the response characteristics in theresponse profile 312 that changed because of the structuralmodifications made to the 3D structure 108.

Again, the training engine includes the 3D model 208 and the dependencydata in the structure database 304. If the 3D structure 108 is modifiedrepeatedly, then the training engine 302 repeatedly updates thestructure database 304 based on the structural modifications made to the3D structure 108 and the updated response profile generated followingthose structural modifications.

FIG. 4A is a flowchart of method steps for optimizing the vibrationalcharacteristics of a structure, according to one embodiment of theinvention. Persons skilled in the art will understand that, although themethod 400 is described in conjunction with the systems of FIGS. 1-3,any system configured to perform the method steps, in any order, iswithin the scope of the present invention.

As shown, the method 400 begins at step 402, where the actuationmechanism 104 imparts an excitation input to the 3D structure 108. Theexcitation input could be, for example, an acoustic sweep across a rangeof frequencies, an impulse force, or a sustained vibration, amongothers. The actuation mechanism 104 imparts the excitation input byexecuting the actuation mechanism commands 218. The 3D structure 108produces a dynamic response after the actuation mechanism 104 impartsthe excitation response to the 3D structure 108.

At step 404, the sensor array 106 measures the dynamic response producedby the 3D structure 108. The sensor array 106 includes one or moresensors configured to measure different quantities that reflect thedynamic response produced by the 3D structure 108. For example, thesensor array 106 could include one or more accelerometers eachphysically coupled to a particular location on the 3D structure 108 andconfigured to measure an acceleration value associated with thatparticular location. In another example, the sensor array 106 couldinclude a microphone located at a distance from the 3D structure 108 andconfigured to measure the acoustic output of the 3D structure 108.

At step 406, the structural analyzer 314 within the structuraloptimization engine 214 generates the response profile 312. The responseprofile 312 includes different response characteristics that maycharacterize the dynamic response produced by the 3D structure 108. Forexample, the response profile 312 could include one or more resonantfrequencies, one or more impedance/admittance values, a quality factorQ, or a transfer function associated with the 3D structure 108, amongothers.

At step 408, the modification engine 306 within the structuraloptimization engine 214 determines whether the 3D structure 108 complieswith the design goals 210. When determining whether the 3D structure 108complies with the design goals 210, the modification engine 306determines whether response characteristics included in the responseprofile 312 are sufficiently similar to corresponding responsecharacteristics set forth in the design goals 210. For example, themodification engine 306 could compare the amplitude of a particularresonant frequency in the response profile 312 to the amplitude of acorresponding resonant frequency in the design goals 210. If thedifference between the two values is less than a threshold value, thenthe modification engine 306 would determine that the 3D structure 108complies with the design goals 210. If the difference is greater than athreshold value, then the modification engine 306 would determine thatthe 3D structure 108 does not comply with the design goals 210. In oneembodiment, multiple response characteristics are compared whendetermining whether the 3D structure 108 complies with the design goals210.

If the 3D structure 108 complies with the design goals 210, then themethod 400 terminates. If the 3D structure 108 does not comply with thedesign goals 210, then the method 400 advances to step 410. At step 410,the modification engine 306 within the structural optimization engine214 determines structural modifications that, if made to the 3Dstructure 108, bring the 3D structure 108 into compliance with thedesign goals 210. Step 410 of the method 400 is described in greaterdetail below in FIG. 4B.

At step 412, the modification engine 306 generates the modification data308 that reflects the structural modifications to be made to the 3Dstructure 108. The modification data 308 specifies the removal ofmaterial from or the addition of material to the 3D structure 108. Atstep 414, the machine control translator 310 translates the modificationdata 308 into the machine control code 216. The machine control code 216may be computational numerical control (CNC) code or G-code, amongothers. The machine control code 216 specifies regions of the 3Dstructure 108 where material is to be removed from and/or added to the3D structure 108 and can be executed by the multi-axis CAM unit 210 toremove material from and/or add material to the 3D structure 108.

At step 416, the multi-axis CAM unit 110 executes the machine controlcode 216 to make the structural modifications to the 3D structure 108.By executing the machine control code 216, the multi-axis CAM unit 210may bring the 3D structure into compliance with the design goals 210.The method 400 then returns to step 402, described above.

The structural optimization engine 214 may implement the method 400 toperform steps 402, 404, 406, 408, 410, 412, 414, and 416 repeatedly.When the modification engine 306 within the structural optimizationengine 214 determines that the 3D structure 108 complies with the designgoals 210, the structural optimization engine 214 may stop performingthe method 400. When the structural optimization engine 214 repeats themethod steps of the method 400, the training engine 302 within thestructural optimization engine 214 updates the structure database 304,as described in greater detail below in FIG. 5.

FIG. 4B is a flowchart of method steps for determining structuralmodifications to the 3D structure 108 that bring the 3D structure 108into compliance with the design goals 210. Persons skilled in the artwill understand that, although the method 450 is described inconjunction with the systems of FIGS. 1-3, any system configured toperform the method steps, in any order, is within the scope of thepresent invention. The method 450 is implemented when step 410 of themethod 400 is performed, as described above in FIG. 4A.

The method 450 begins at step 452, where the modification engine 306identifies a stored 3D model in the structure database 304 that is mostsimilar to the 3D model 208. In one embodiment, the modification engine306 implements a set of heuristics, a pattern-recognition algorithm, aneural network, a decision tree, a curve-fitting algorithm, a KohonenMap, a Radial Basis Function, a K-means hierarchical clusteringalgorithm, a reinforcement learning algorithm, or another type ofcharacterization algorithm and/or statistical data mining algorithm toidentify the stored 3D model that is most similar to the 3D model 208.

At step 454, the modification engine 306 determines one or more responsecharacteristics reflected in the response profile 312 that differ(diverge) significantly from the corresponding response characteristicsset forth in the design goals 210. For example, the modification engine306 may compare the response profile 312 to the design goals 210 todetermine that the amplitude of a particular resonant frequency in theresponse profile 312 is twice the amplitude of a corresponding resonantfrequency in the design goals 210.

At step 456, the modification engine 306 extracts the dependency datafrom the structure database 304 that is associated with the identifiedstored 3D model. The extracted dependency data indicates dependenciesbetween the response characteristics of a 3D structure represented bythe identified stored 3D model, such as the 3D structure 108, and theamounts of the different materials in specific regions of that 3Dstructure. For example, the extracted dependency data could specify thatthe amplitude of a particular resonant frequency associated with the 3Dstructure 108 is dependent on the thickness of one or more specificregions of the 3D structure 108.

At step 458, the modification engine 306 identifies regions within theidentified stored 3D model on which the divergent responsecharacteristics depend based on the dependency data. For example, if thestored 3D model represents a guitar, and the divergent responsecharacteristics include a specific quality factor Q associated with theguitar, then the dependency data may indicate that the specific qualityfactor Q of the guitar depends on the amount of material in the bridgeof the guitar.

At step 460, the modification engine 306 analyzes the extracteddependency data to determine structural modifications to the 3Dstructure 108 that reduce the differences between the divergent responsecharacteristics in the response profile 312 and the correspondingresponse characteristics set forth in the design goals 210. Returning tothe above example, the modification engine 306 could determine that byreducing the amount of material in the bridge of the guitar, thespecific quality factor Q of the guitar could be increased. In thisfashion, the specific quality factor Q of the guitar may betterapproximate a corresponding quality factor Q set forth in the designgoals 210.

After step 460 of the method 450 is implemented, the method 450terminates and step 410 of the method 400 is complete, thereby allowingthe method 400 to proceed to step 412, as described in FIG. 4A.

FIG. 5 is a flowchart of method steps for updating the structuredatabase 304, according to one embodiment of the invention. Personsskilled in the art will understand that, although the method 500 isdescribed in conjunction with the systems of FIGS. 1-3, any systemconfigured to perform the method steps, in any order, is within thescope of the present invention.

As shown, the method 500 begins at step 502, where the structuralanalyzer 314 within the structural optimization engine 214 generates afirst response profile for the 3D structure 108. The structural analyzer314 transmits the actuation mechanism commands 218 to the actuationmechanism 104. Based on the actuation mechanism commands 218, theactuation mechanism 104 imparts an excitation input to the 3D structure108. The 3D structure 108 then produces a dynamic response. Sensors inthe sensor array 106 measure the dynamic response produced by the 3Dstructure 108 and output the sensor data 212 to the computing device102.

Based on the sensor data 212 and the actuation mechanism commands 218,the structural analyzer 314 then generates the first response profile.The first response profile includes response characteristics of the 3Dstructure 108 that are based on the dynamic response produced by the 3Dstructure 108. The response characteristics may include one or moreresonant frequencies, one or more impedance/admittance values, a qualityfactor Q, a frequency spectrum, or spectral density data associated withthe 3D structure 108, among others.

At step 504, the 3D multi-axis CAM unit 110 makes structuralmodifications to the 3D structure 108 based on the machine control code216. As described in FIGS. 2-4B, the structural optimization engine 214determines structural modifications that, if made to the 3D structure108, bring the 3D structure into compliance with the design goals 210.The modification engine 306 generates the modification data 308 thatreflects these structural modifications. The machine control translator310 then generates the machine control code 216 based on themodification data 308. The multi-axis CAM unit 110 then executes themachine control code 216 to make the structural modifications to the 3Dstructure 108.

At step 506, the structural analyzer 314 generates a second responseprofile for the 3D structure 108. The structural analyzer 314 generatesthe second response profile in a substantially similar manner asdescribed in step 502. However, since structural modifications have beenmade to the 3D structure 108, when the actuation mechanism 104 impartsthe excitation input to the 3D structure 108, the 3D structure 108produces a current dynamic response that may be unique compared toprevious dynamic responses. The structural analyzer 314 generates thesecond response profile based on the current dynamic response producedby the 3D structure 108.

At step 508, the training engine 302 within the structural optimizationengine 214 identifies response characteristics included in the first andsecond response profiles that differ by comparing each responsecharacteristic included in the first response profile to a correspondingresponse characteristic included in the second response profile. Forexample, when the response profile includes a spectral density plot, thetraining engine 302 could compare the amplitude of a particularfrequency in the first response profile to the amplitude of acorresponding frequency included in the second response profile and thendetermine that the amplitude of that particular frequency decreased by50% between the first and second response profiles.

At step 510, the training engine 302 analyzes the modification data 308to determine the amounts of the different materials removed from oradded to the regions of the 3D structure 108 modified by the multi-axisCAM unit 110 at step 504. In one embodiment, the training engine 302determines the volume of different materials removed from or added tothe modified regions of the 3D structure 108. In another embodiment, thetraining engine 302 may determine a change in thickness of the modifiedregions of the 3D structure 108.

At step 512, the training engine 302 identifies regions of the 3D model208 that correspond to the modified regions of the 3D structure 108. Thetraining engine 302 identifies the regions of the 3D structure 108 towhich structural modifications were made by the multi-axis CAM unit 110at step 502 and then identifies corresponding regions of the 3D model208.

At step 514, the training engine 302 generates dependency data thatreflects dependencies between the amounts of the different materials inthe identified regions of the 3D model 208 and the responsecharacteristics that differ between the first and second responseprofiles. In one embodiment, the dependency data specifies a dependencybetween the volume of the materials in the identified regions of the 3Dmodel 208 and the response characteristics that differ between the firstand second response profiles. In another embodiment, the dependency datamay specify a dependency between the thickness of material in theidentified regions of the 3D model 208 and the response characteristicsthat differ between the first and second response profiles.

At step 514, the training engine 302 stores the 3D model 208 and thedependency data together in the structure database 304. The modificationengine 306 may then access the 3D model 208 and the dependency data whensubsequently generating additional modification data for the 3Dstructure 108 or for another 3D structure.

While the foregoing descriptions of FIGS. 2-5 is directed towards thesystem 100 described in FIG. 1, alternative implementations of thesystem 100 are also possible, as described in greater detail below inFIG. 6.

FIG. 6 is a conceptual diagram of another system 600 configured toimplement one or more aspects of the invention. As shown, the system 600includes some of the same components as the system 100. In addition, thesystem 600 further includes a CAM implement 602 coupled to themulti-axis CAM unit 110. The multi-axis CAM unit 110 controls the CAMimplement 602 and may cause the CAM implement 602 to make structuralmodifications to the 3D structure 108 by adding material to and/orremoving material from the 3D structure 108. For example, if themulti-axis CAM unit 110 is a router, and the CAM implement 602 is acutting bit, then the multi-axis CAM unit 110 could cause the CAMimplement 602 to remove material from the 3D structure 108.

The multi-axis CAM unit 110 may also cause the CAM implement 602 toimpart an excitation input to the 3D structure 108. For example, themulti-axis CAM unit 110 could cause the CAM implement 602 to impart animpulse force on the 3D structure 108. The excitation input may beimparted to the 3D structure 108 while the CAM implement 602 makesstructural modifications on the 3D structure 108 or independently of theCAM implement 602 making structural modifications to the 3D structure108.

The CAM implement includes a sensor array 604. The sensor array 604includes some or all of the same sensors as the sensor array 106described in FIG. 1. The sensor array 604 is configured to measure thedynamic response produced by the 3D structure 108 after the CAMimplement 602 imparts an excitation input to the 3D structure 108. Thesensor array 604 may also be configured to measure different quantitiesassociated with the CAM implement 604, such as, for example, a torquevalue or a force value.

The sensor array 604 outputs sensor data to the computing device 102.The sensor array could, for example, transmit the sensor data to thecomputing device 102 via a wireless connection, or, alternatively,transmit the sensor data to the computing device 102 via the multi-axisCAM unit 110, among others. Based on the sensor data, the computingdevice 102 determines structural modifications that can be made to the3D structure 108 in order to bring the 3D structure 108 into compliancewith design goals set for the 3D structure 108, as previously describedin FIGS. 2-4. For example, the computing device 102 could include astructural optimization engine that is substantially similar to thestructural optimization engine 214 of FIGS. 2-3. The structuraloptimization engine could generate machine control code that, whenexecuted by the multi-axis CAM unit 110, causes the multi-axis CAM unit110 to make the structural modifications to the 3D structure 108.

According to the techniques described herein, the computing device 102may cause the multi-axis CAM unit 110 to optimize the vibrationalcharacteristics of the 3D structure 108. Persons of ordinary skill inthe art will understand that the computing device 102 may cause themulti-axis CAM unit 210 to make one or more distinct structuralmodifications to the 3D structure 108, in one or more different passes,and with varying degrees of material removal and/or addition. Forexample, the computing device 102 could cause the multi-axis CAM unit110 to remove a decreasing amount of material from the 3D structure 108in order to fine-tune the 3D structure 108.

In sum, a computing device performs a vibrational analysis of athree-dimensional (3D) structure to determine whether the 3D structurecomplies with design goals set for the 3D structure. When the 3Dstructure does not comply with the design goals, the computing devicecauses a multi-axis CAM unit to make structural modifications to the 3Dstructure to bring the 3D structure into compliance with the designgoals.

When performing the vibrational analysis, the computing device causes anactuation mechanism to impart an excitation input to the 3D structure.The 3D structure produces a dynamic response, and a sensor array coupledto the computing device measures various quantities associated with thedynamic response. The sensor array outputs sensor data that reflects thedynamic response to the computing device. The computing device includesa structural optimization engine that analyzes a 3D model of the 3Dstructure, the design goals set for the 3D structure, and the sensordata. Based on the 3D model and the sensor data, the structuraloptimization engine determines whether the 3D structure complies withthe design goals.

When the 3D structure does not comply with the design goals, thestructural optimization engine accesses dependency data that indicatesdependencies between specific regions of the 3D structure and responsecharacteristics associated with the dynamic response produced by the 3Dstructure. The structural modification engine then determines structuralmodifications that can be made to the 3D structure in order tomanipulate those response characteristics to bring the 3D structure intocompliance with the design goals. The computing device generates machinecontrol code that reflects the structural modifications. A multi-axiscomputer-aided manufacturing (CAM) unit executes the machine controlcode to make the structural modifications to the 3D structure, therebybringing the 3D structure into compliance with the design goals.

Advantageously, a 3D structure having precise vibrationalcharacteristics can be generated. The 3D structure can be modified untilthe 3D structure complies with design goals set for the 3D structure. Inaddition, specific vibrational characteristics of the 3D structure canbe identified and manipulated by making precise structural modificationsto the 3D structure, thereby allowing the 3D structure to be fine-tuned.

While the forgoing is directed to embodiments of the present invention,other and further embodiments of the invention may be devised withoutdeparting from the basic scope thereof. For example, aspects of thepresent invention may be implemented in hardware or software or in acombination of hardware and software. One embodiment of the inventionmay be implemented as a program product for use with a computer system.The program(s) of the program product define functions of theembodiments (including the methods described herein) and can becontained on a variety of computer-readable storage media. Illustrativecomputer-readable storage media include, but are not limited to: (i)non-writable storage media (e.g., read-only memory devices within acomputer such as CD-ROM disks readable by a CD-ROM drive, flash memory,ROM chips or any type of solid-state non-volatile semiconductor memory)on which information is permanently stored; and (ii) writable storagemedia (e.g., floppy disks within a diskette drive or hard-disk drive orany type of solid-state random-access semiconductor memory) on whichalterable information is stored. Such computer-readable storage media,when carrying computer-readable instructions that direct the functionsof the present invention, are embodiments of the present invention.

In view of the foregoing, the scope of the present invention isdetermined by the claims that follow.

1. A computer-implemented method for optimizing the vibrationalcharacteristics of a three-dimensional (3D) structure, the methodcomprising the steps of: imparting an excitation input to the 3Dstructure; measuring a dynamic response produced by the 3D structure;determining that the 3D structure does not comply with one or moredesign goals set for the 3D structure by: generating a response profilefor the 3D structure based on the dynamic response produced by the 3Dstructure that includes at least one response characteristic thatcorresponds to a response characteristic included in the one or moredesign goals, comparing the at least one response characteristicincluded in the response profile to the corresponding responsecharacteristic included in the one or more design goals, and determiningthat the at least one response characteristic included in the responseprofile differs from the corresponding response characteristic includedin the one or more design goals; determining at least one structuralmodification to be made to the 3D structure to bring the 3D structureinto compliance with the one or more design goals; and causing amulti-axis computer-aided manufacturing (CAM) unit to make the at leastone structural modification to the 3D structure.
 2. The method of claim1, wherein the design goals include at least one of a quality factor Q,one or more resonant frequencies, one or more impedance values, one ormore admittance values, or a transfer function.
 3. The method of claim1, wherein the step of determining the at least one structuralmodification to be made to the 3D structure to bring the 3D structureinto compliance with the one or more design goals comprises the stepsof: comparing a 3D model of the 3D structure to one or more stored 3Dmodels included in a structure database to determine a most similarstored 3D model; extracting dependency data associated with the mostsimilar stored 3D model that indicates a dependency between a firstresponse characteristic associated with the stored 3D model and anamount of material in the first region of the stored 3D model, whereinthe first response characteristic associated with the stored 3D modelcorresponds to the at least one response characteristic included in theresponse profile, and the first region of the stored 3D modelcorresponds to a specific region of the 3D structure; and generatingmodification data that reflects the at least one structural modificationto be made to the specific region of the 3D structure based on thedependency data, wherein the at least one structural modificationreduces the difference between the at least one response characteristicincluded in the response profile and the corresponding responsecharacteristic included in the design goals.
 4. The method of claim 3,wherein the step of comparing the 3D model of the 3D structure to one ormore stored 3D models included in the structure database comprisesimplementing one or more of a set of heuristics, a pattern-recognitionalgorithm, a neural network, a decision tree, a curve-fitting algorithm,a Kohonen Map, a Radial Basis Function, a K-means hierarchicalclustering algorithm, or a reinforcement learning algorithm to determinethe stored 3D model that is most similar to the 3D model of the 3Dstructure.
 5. The method of claim 3, wherein the step of causing themulti-axis CAM machine to make the at least one structural modificationto the 3D structure further comprises the steps of: generating machinecontrol code based on the modification data that comprises G-code orcomputational numerical control (CNC) code; and executing the machinecontrol code to remove material from or add material to the specificregion of the 3D structure.
 6. The method of claim 1, wherein the stepof imparting the excitation input to the 3D structure is performed by ashaker, a force hammer, a magnetic actuator, or a loudspeaker.
 7. Themethod of claim 1, wherein the step of measuring a dynamic responseproduced by the 3D structure is performed by a sensor array thatincludes at least an accelerometer, a strain gauge, a force gauge, anair velocity sensor, or a microphone.
 8. The method of claim 1, whereinthe steps of imparting an excitation input, measuring a dynamicresponse, determining that the 3D structure does not comply with one ormore design goals, determining at least one structural modification tobe made to the 3D structure, and causing a multi-axis CAM unit to makethe at least one structural modification are repeated until the 3Dstructure complies with the one or more design goals.
 9. Anon-transitory computer-readable medium that, when executed by aprocessor, optimizes the vibrational characteristics of athree-dimensional (3D) structure by performing the steps of: causing anexcitation input to be imparted to the 3D structure; receiving ameasurement of a dynamic response produced by the 3D structure;determining that the 3D structure does not comply with one or moredesign goals set for the 3D structure by: generating a response profilefor the 3D structure based on the dynamic response produced by the 3Dstructure that includes at least one response characteristic thatcorresponds to a response characteristic included in the one or moredesign goals, comparing the at least one response characteristicincluded in the response profile to the corresponding responsecharacteristic included in the one or more design goals, and determiningthat the at least one response characteristic included in the responseprofile differs from the corresponding response characteristic includedin the one or more design goals; determining at least one structuralmodification to be made to the 3D structure to bring the 3D structureinto compliance with the one or more design goals; and causing amulti-axis CAM unit to make the at least one structural modification tothe 3D structure.
 10. The non-transitory computer-readable medium ofclaim 9, wherein the design goals include at least one of a qualityfactor Q, one or more resonant frequencies, one or more impedancevalues, one or more admittance values, or a transfer function.
 11. Thenon-transitory computer-readable medium of claim 9, wherein the step ofdetermining the at least one structural modification to be made to the3D structure to bring the 3D structure into compliance with the one ormore design goals comprises the steps of: comparing a 3D model of the 3Dstructure to one or more stored 3D models included in a structuredatabase to determine a most similar stored 3D model; extractingdependency data associated with the most similar stored 3D model thatindicates a dependency between a first response characteristicassociated with the stored 3D model and an amount of material in thefirst region of the stored 3D model, wherein the first responsecharacteristic associated with the stored 3D model corresponds to the atleast one response characteristic included in the response profile, andthe first region of the stored 3D model corresponds to a specific regionof the 3D structure; and generating modification data that reflects theat least one structural modification to be made to the specific regionof the 3D structure based on the dependency data, wherein the at leastone structural modification reduces the difference between the at leastone response characteristic included in the response profile and thecorresponding response characteristic included in the design goals. 12.The non-transitory computer-readable medium of claim 11, wherein thestep of comparing the 3D model of the 3D structure to one or more stored3D models included in the structure database comprises implementing oneor more of a set of heuristics, a pattern-recognition algorithm, aneural network, a decision tree, a curve-fitting algorithm, a KohonenMap, a Radial Basis Function, a K-means hierarchical clusteringalgorithm, or a reinforcement learning algorithm to determine the stored3D model that is most similar to the 3D model of the 3D structure. 13.The non-transitory computer-readable medium of claim 11, wherein thestep of causing the multi-axis CAM machine to make the at least onestructural modification to the 3D structure further comprises the stepsof: generating machine control code based on the modification data thatcomprises G-code or computational numerical control (CNC) code; andcausing the multi-axis CAM unit to execute the machine control code toremove material from or add material to the specific region of the 3Dstructure.
 14. The non-transitory computer-readable medium of claim 9,wherein the steps of imparting an excitation input, measuring a dynamicresponse, determining that the 3D structure does not comply with one ormore design goals, determining at least one structural modification tobe made to the 3D structure, and causing a multi-axis CAM unit to makethe at least one structural modification are repeated until the 3Dstructure complies with the one or more design goals.
 15. A system foroptimizing the vibrational characteristics of a 3D structure, including:an actuation mechanism configured to impart an excitation input to the3D structure; a sensor array configured to measure a dynamic responseproduced by the 3D structure; a multi-axis CAM unit configured to addmaterial to or remove material from the 3D structure via a CAMimplement; and a computing device that includes: one or moreinput/output I/O devices, a processor, and a memory that includes astructural optimization engine configured to perform the steps of:causing the actuation mechanism to impart the excitation input to the 3Dstructure, receiving a measurement of the dynamic response produced bythe 3D structure from the sensor array, determining that the 3Dstructure does not comply with one or more design goals set for the 3Dstructure by: generating a response profile for the 3D structure basedon the dynamic response produced by the 3D structure that includes atleast one response characteristic that corresponds to a responsecharacteristic included in the one or more design goals, comparing theat least one response characteristic included in the response profile tothe corresponding response characteristic included in the one or moredesign goals, and determining that the at least one responsecharacteristic included in the response profile differs from thecorresponding response characteristic included in the one or more designgoals; determining at least one structural modification to be made tothe 3D structure to bring the 3D structure into compliance with the oneor more design goals, and causing the multi-axis CAM unit to make the atleast one structural modification to the 3D structure.
 16. The system ofclaim 15, wherein the design goals include at least one of a qualityfactor Q, one or more resonant frequencies, one or more impedancevalues, one or more admittance values, or a transfer function.
 17. Thesystem of claim 15, wherein the step of determining the at least onestructural modification to be made to the 3D structure to bring the 3Dstructure into compliance with the one or more design goals comprisesthe steps of: comparing a 3D model of the 3D structure to one or morestored 3D models included in a structure database to determine a mostsimilar stored 3D model; extracting dependency data associated with themost similar stored 3D model that indicates a dependency between a firstresponse characteristic associated with the stored 3D model and anamount of material in the first region of the stored 3D model, whereinthe first response characteristic associated with the stored 3D modelcorresponds to the at least one response characteristic included in theresponse profile, and the first region of the stored 3D modelcorresponds to a specific region of the 3D structure; and generatingmodification data that reflects the at least one structural modificationto be made to the specific region of the 3D structure based on thedependency data, wherein the at least one structural modificationreduces the difference between the at least one response characteristicincluded in the response profile and the corresponding responsecharacteristic included in the design goals.